
package com.femass.view;

import com.femass.controller.GestaoArtigos;
import com.femass.controller.GestaoEventos;
import com.femass.controller.GestaoTemas;
import java.util.List;
import javax.faces.bean.ManagedBean;
import com.femass.model.Artigo;
import com.femass.model.Autor;
import com.femass.model.Evento;
import com.femass.model.Tema;
import org.primefaces.model.UploadedFile;
import com.femass.repository.AutoreRepository;
import com.femass.util.Repositorios;

@ManagedBean
public class EnvioArtigoBean {
    private Repositorios repositorios = new Repositorios();
    private AutoreRepository autoresRepo = this.repositorios.getAutores();
    private GestaoArtigos gestaoArtigos = new GestaoArtigos();
    private GestaoTemas gestaoTemas = new GestaoTemas();
    private GestaoEventos gestaoEventos = new GestaoEventos();
    
    private Artigo artigo = new Artigo();
    private List<Autor> autores;
    private List<Tema> temas;
    private List<Evento> eventos;
    private UploadedFile arquivo;

    public EnvioArtigoBean() {
        this.autores = this.autoresRepo.todos();
        this.eventos = this.gestaoEventos.listaTodos();
        this.temas = this.gestaoTemas.listaTemas();
        
    }

    public void enviar(){
        
        this.gestaoArtigos.salvarArtigo(this.artigo, this.arquivo);
        this.artigo = new Artigo();
    }
   
    
    public Artigo getArtigo() {
        return artigo;
    }

    public void setArtigo(Artigo artigo) {
        this.artigo = artigo;
    }

    public UploadedFile getArquivo() {
        return arquivo;
    }

    public void setArquivo(UploadedFile arquivo) {
        this.arquivo = arquivo;
    }

    public List<Autor> getAutores() {
        return autores;
    }

    public void setAutores(List<Autor> autores) {
        this.autores = autores;
    }

    public List<Tema> getTemas() {
        return temas;
    }

    public void setTemas(List<Tema> temas) {
        this.temas = temas;
    }

    public List<Evento> getEventos() {
        return eventos;
    }

    public void setEventos(List<Evento> eventos) {
        this.eventos = eventos;
    }
    
    
    
}
